home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / dev / c / AmiVoGL_MDEV.lha / src / trans.s < prev    next >
Text File  |  1997-12-30  |  11KB  |  608 lines

  1.  
  2. ; Maxon C++ Compiler
  3. ; LS2:work/voGL/src/trans.c
  4.     mc68020
  5.     mc68881
  6.     XREF    _newtokens
  7.     XREF    _verror
  8.     XREF    _cos__r
  9.     XREF    _sin__r
  10.     XREF    _std__in
  11.     XREF    _std__out
  12.     XREF    _std__err
  13.     XREF    ___MEMFLAGS
  14.     XREF    _vdevice
  15.  
  16.     SECTION ":0",CODE
  17.  
  18.  
  19.     XDEF    _translate
  20. _translate
  21. L10    EQU    $38
  22. L11    EQU    $4CDC
  23.     movem.l    d2-d4/d6/d7/a2/a3/a6,-(a7)
  24.     fmovem.x fp6/fp7,-(a7)
  25.     move.s    L10+$C(a7),d2
  26.     move.s    L10+$8(a7),d3
  27.     move.s    L10+4(a7),d4
  28.     XREF    userbreak_flagpos
  29.     move.l    userbreak_flagpos,a1
  30.     btst    #4,(a1)
  31.     bne    L12
  32.     tst.b    _vdevice
  33.     bne    L1
  34.     pea    L13
  35.     jsr    _verror
  36.     addq.l    #4,a7
  37. L1
  38.     tst.b    _vdevice+2
  39.     beq    L2
  40.     pea    4.w
  41.     jsr    _newtokens
  42.     addq.l    #4,a7
  43.     move.l    d0,a2
  44.     move.l    a2,a3
  45.     moveq    #0,d7
  46.     move.l    #$26,0(a3,d7.l*4)
  47.     move.l    a2,a3
  48.     moveq    #1,d7
  49.     move.l    d4,0(a3,d7.l*4)
  50.     move.l    a2,a3
  51.     moveq    #2,d7
  52.     move.l    d3,0(a3,d7.l*4)
  53.     move.l    a2,a3
  54.     moveq    #3,d7
  55.     move.l    d2,0(a3,d7.l*4)
  56.     fmovem.x (a7)+,[LATEST]
  57.     movem.l    (a7)+,#L11
  58.     rts
  59. L2
  60.     move.l    _vdevice+$14,a3
  61.     lea    $30(a3),a3
  62.     moveq    #0,d7
  63.     move.l    _vdevice+$14,a6
  64.     moveq    #0,d6
  65.     fmove.s    d4,fp7
  66.     fmul.s    0(a6,d6.l*4),fp7
  67.     move.l    _vdevice+$14,a6
  68.     lea    $10(a6),a6
  69.     moveq    #0,d6
  70.     fmove.s    d3,fp6
  71.     fmul.s    0(a6,d6.l*4),fp6
  72.     fadd.x    fp6,fp7
  73.     move.l    _vdevice+$14,a6
  74.     lea    $20(a6),a6
  75.     moveq    #0,d6
  76.     fmove.s    d2,fp6
  77.     fmul.s    0(a6,d6.l*4),fp6
  78.     fadd.x    fp6,fp7
  79.     fmove.s    0(a3,d7.l*4),fp6
  80.     fadd.x    fp7,fp6
  81.     move.l    _vdevice+$14,a3
  82.     lea    $30(a3),a3
  83.     moveq    #0,d7
  84.     fmove.s    fp6,0(a3,d7.l*4)
  85.     move.l    _vdevice+$14,a3
  86.     lea    $30(a3),a3
  87.     moveq    #1,d7
  88.     move.l    _vdevice+$14,a6
  89.     moveq    #1,d6
  90.     fmove.s    d4,fp7
  91.     fmul.s    0(a6,d6.l*4),fp7
  92.     move.l    _vdevice+$14,a6
  93.     lea    $10(a6),a6
  94.     moveq    #1,d6
  95.     fmove.s    d3,fp6
  96.     fmul.s    0(a6,d6.l*4),fp6
  97.     fadd.x    fp6,fp7
  98.     move.l    _vdevice+$14,a6
  99.     lea    $20(a6),a6
  100.     moveq    #1,d6
  101.     fmove.s    d2,fp6
  102.     fmul.s    0(a6,d6.l*4),fp6
  103.     fadd.x    fp6,fp7
  104.     fmove.s    0(a3,d7.l*4),fp6
  105.     fadd.x    fp7,fp6
  106.     move.l    _vdevice+$14,a3
  107.     lea    $30(a3),a3
  108.     moveq    #1,d7
  109.     fmove.s    fp6,0(a3,d7.l*4)
  110.     move.l    _vdevice+$14,a3
  111.     lea    $30(a3),a3
  112.     moveq    #2,d7
  113.     move.l    _vdevice+$14,a6
  114.     moveq    #2,d6
  115.     fmove.s    d4,fp7
  116.     fmul.s    0(a6,d6.l*4),fp7
  117.     move.l    _vdevice+$14,a6
  118.     lea    $10(a6),a6
  119.     moveq    #2,d6
  120.     fmove.s    d3,fp6
  121.     fmul.s    0(a6,d6.l*4),fp6
  122.     fadd.x    fp6,fp7
  123.     move.l    _vdevice+$14,a6
  124.     lea    $20(a6),a6
  125.     moveq    #2,d6
  126.     fmove.s    d2,fp6
  127.     fmul.s    0(a6,d6.l*4),fp6
  128.     fadd.x    fp6,fp7
  129.     fmove.s    0(a3,d7.l*4),fp6
  130.     fadd.x    fp7,fp6
  131.     move.l    _vdevice+$14,a3
  132.     lea    $30(a3),a3
  133.     moveq    #2,d7
  134.     fmove.s    fp6,0(a3,d7.l*4)
  135.     move.l    _vdevice+$14,a3
  136.     lea    $30(a3),a3
  137.     moveq    #3,d7
  138.     move.l    _vdevice+$14,a6
  139.     moveq    #3,d6
  140.     fmove.s    d4,fp7
  141.     fmul.s    0(a6,d6.l*4),fp7
  142.     move.l    _vdevice+$14,a6
  143.     lea    $10(a6),a6
  144.     moveq    #3,d6
  145.     fmove.s    d3,fp6
  146.     fmul.s    0(a6,d6.l*4),fp6
  147.     fadd.x    fp6,fp7
  148.     move.l    _vdevice+$14,a6
  149.     lea    $20(a6),a6
  150.     moveq    #3,d6
  151.     fmove.s    d2,fp6
  152.     fmul.s    0(a6,d6.l*4),fp6
  153.     fadd.x    fp6,fp7
  154.     fmove.s    0(a3,d7.l*4),fp6
  155.     fadd.x    fp7,fp6
  156.     move.l    _vdevice+$14,a3
  157.     lea    $30(a3),a3
  158.     moveq    #3,d7
  159.     fmove.s    fp6,0(a3,d7.l*4)
  160.     fmovem.x (a7)+,[LATEST]
  161.     movem.l    (a7)+,#L11
  162.     rts
  163.  
  164.     XDEF    _rot
  165. _rot
  166. L14    EQU    $38
  167. L15    EQU    $C8C
  168.     movem.l    #L15,-(a7)
  169.     fmovem.x fp5/fp6/fp7,-(a7)
  170.     move.s    L14+4(a7),d2
  171.     move.b    L14+$8(a7),d3
  172.     move.l    userbreak_flagpos,a1
  173.     btst    #4,(a1)
  174.     bne    L12
  175.     tst.b    _vdevice
  176.     bne    L3
  177.     pea    L16
  178.     jsr    _verror
  179.     addq.l    #4,a7
  180. L3
  181.     tst.b    _vdevice+2
  182.     beq    L4
  183.     pea    3.w
  184.     jsr    _newtokens
  185.     addq.l    #4,a7
  186.     move.l    d0,a2
  187.     move.l    a2,a3
  188.     moveq    #0,d7
  189.     move.l    #$27,0(a3,d7.l*4)
  190.     move.l    a2,a3
  191.     moveq    #1,d7
  192.     move.l    d2,0(a3,d7.l*4)
  193.     extb.l    d3
  194.     move.l    a2,a3
  195.     moveq    #2,d7
  196.     move.l    d3,0(a3,d7.l*4)
  197.     fmovem.x (a7)+,[LATEST]
  198.     movem.l    (a7)+,#L15
  199.     rts
  200. L4
  201.     fmove.s    d2,fp7
  202.     fmul.d    #$.3F91DF46.A2529D2E,fp7
  203.     fmove.d    fp7,-(a7)
  204.     jsr    _cos__r
  205.     addq.l    #$8,a7
  206.     fmove.x    fp0,fp6
  207.     fmove.s    d2,fp7
  208.     fmul.d    #$.3F91DF46.A2529D2E,fp7
  209.     fmove.d    fp7,-(a7)
  210.     jsr    _sin__r
  211.     addq.l    #$8,a7
  212.     fmove.x    fp0,fp6
  213.     cmp.b    #$78,d3
  214.     bgt.b    L17
  215.     beq    L6
  216.     cmp.b    #$59,d3
  217.     bgt.b    L18
  218.     beq    L7
  219.     cmp.b    #$58,d3
  220.     beq    L6
  221.     bra    L9
  222. L18
  223.     cmp.b    #$5A,d3
  224.     beq    L8
  225.     bra    L9
  226. L17
  227.     cmp.b    #$79,d3
  228.     beq    L7
  229.     cmp.b    #$7A,d3
  230.     beq    L8
  231.     bra    L9
  232. L6
  233.     move.l    _vdevice+$14,a3
  234.     lea    $10(a3),a3
  235.     moveq    #0,d7
  236.     fmove.s    0(a3,d7.l*4),fp6
  237.     fmove.x    fp6,fp7
  238.     fmul.x    fp6,fp7
  239.     move.l    _vdevice+$14,a3
  240.     lea    $20(a3),a3
  241.     moveq    #0,d7
  242.     fmove.x    fp6,fp5
  243.     fmul.s    0(a3,d7.l*4),fp5
  244.     fadd.x    fp5,fp7
  245.     move.l    _vdevice+$14,a3
  246.     lea    $10(a3),a3
  247.     moveq    #0,d7
  248.     fmove.s    fp7,0(a3,d7.l*4)
  249.     move.l    _vdevice+$14,a3
  250.     lea    $20(a3),a3
  251.     moveq    #0,d7
  252.     fmove.x    fp6,fp7
  253.     fmul.s    0(a3,d7.l*4),fp7
  254.     fmove.x    fp6,fp5
  255.     fmul.x    fp6,fp5
  256.     fsub.x    fp5,fp7
  257.     move.l    _vdevice+$14,a3
  258.     lea    $20(a3),a3
  259.     moveq    #0,d7
  260.     fmove.s    fp7,0(a3,d7.l*4)
  261.     move.l    _vdevice+$14,a3
  262.     lea    $10(a3),a3
  263.     moveq    #1,d7
  264.     fmove.s    0(a3,d7.l*4),fp6
  265.     fmove.x    fp6,fp7
  266.     fmul.x    fp6,fp7
  267.     move.l    _vdevice+$14,a3
  268.     lea    $20(a3),a3
  269.     moveq    #1,d7
  270.     fmove.x    fp6,fp5
  271.     fmul.s    0(a3,d7.l*4),fp5
  272.     fadd.x    fp5,fp7
  273.     move.l    _vdevice+$14,a3
  274.     lea    $10(a3),a3
  275.     moveq    #1,d7
  276.     fmove.s    fp7,0(a3,d7.l*4)
  277.     move.l    _vdevice+$14,a3
  278.     lea    $20(a3),a3
  279.     moveq    #1,d7
  280.     fmove.x    fp6,fp7
  281.     fmul.s    0(a3,d7.l*4),fp7
  282.     fmove.x    fp6,fp5
  283.     fmul.x    fp6,fp5
  284.     fsub.x    fp5,fp7
  285.     move.l    _vdevice+$14,a3
  286.     lea    $20(a3),a3
  287.     moveq    #1,d7
  288.     fmove.s    fp7,0(a3,d7.l*4)
  289.     move.l    _vdevice+$14,a3
  290.     lea    $10(a3),a3
  291.     moveq    #2,d7
  292.     fmove.s    0(a3,d7.l*4),fp6
  293.     fmove.x    fp6,fp7
  294.     fmul.x    fp6,fp7
  295.     move.l    _vdevice+$14,a3
  296.     lea    $20(a3),a3
  297.     moveq    #2,d7
  298.     fmove.x    fp6,fp5
  299.     fmul.s    0(a3,d7.l*4),fp5
  300.     fadd.x    fp5,fp7
  301.     move.l    _vdevice+$14,a3
  302.     lea    $10(a3),a3
  303.     moveq    #2,d7
  304.     fmove.s    fp7,0(a3,d7.l*4)
  305.     move.l    _vdevice+$14,a3
  306.     lea    $20(a3),a3
  307.     moveq    #2,d7
  308.     fmove.x    fp6,fp7
  309.     fmul.s    0(a3,d7.l*4),fp7
  310.     fmove.x    fp6,fp5
  311.     fmul.x    fp6,fp5
  312.     fsub.x    fp5,fp7
  313.     move.l    _vdevice+$14,a3
  314.     lea    $20(a3),a3
  315.     moveq    #2,d7
  316.     fmove.s    fp7,0(a3,d7.l*4)
  317.     move.l    _vdevice+$14,a3
  318.     lea    $10(a3),a3
  319.     moveq    #3,d7
  320.     fmove.s    0(a3,d7.l*4),fp6
  321.     fmove.x    fp6,fp7
  322.     fmul.x    fp6,fp7
  323.     move.l    _vdevice+$14,a3
  324.     lea    $20(a3),a3
  325.     moveq    #3,d7
  326.     fmove.x    fp6,fp5
  327.     fmul.s    0(a3,d7.l*4),fp5
  328.     fadd.x    fp5,fp7
  329.     move.l    _vdevice+$14,a3
  330.     lea    $10(a3),a3
  331.     moveq    #3,d7
  332.     fmove.s    fp7,0(a3,d7.l*4)
  333.     move.l    _vdevice+$14,a3
  334.     lea    $20(a3),a3
  335.     moveq    #3,d7
  336.     fmove.x    fp6,fp7
  337.     fmul.s    0(a3,d7.l*4),fp7
  338.     fmove.x    fp6,fp5
  339.     fmul.x    fp6,fp5
  340.     fsub.x    fp5,fp7
  341.     move.l    _vdevice+$14,a3
  342.     lea    $20(a3),a3
  343.     moveq    #3,d7
  344.     fmove.s    fp7,0(a3,d7.l*4)
  345.     bra    L5
  346. L7
  347.     move.l    _vdevice+$14,a3
  348.     moveq    #0,d7
  349.     fmove.s    0(a3,d7.l*4),fp6
  350.     fmove.x    fp6,fp7
  351.     fmul.x    fp6,fp7
  352.     move.l    _vdevice+$14,a3
  353.     lea    $20(a3),a3
  354.     moveq    #0,d7
  355.     fmove.x    fp6,fp5
  356.     fmul.s    0(a3,d7.l*4),fp5
  357.     fsub.x    fp5,fp7
  358.     move.l    _vdevice+$14,a3
  359.     moveq    #0,d7
  360.     fmove.s    fp7,0(a3,d7.l*4)
  361.     fmove.x    fp6,fp7
  362.     fmul.x    fp6,fp7
  363.     move.l    _vdevice+$14,a3
  364.     lea    $20(a3),a3
  365.     moveq    #0,d7
  366.     fmove.x    fp6,fp5
  367.     fmul.s    0(a3,d7.l*4),fp5
  368.     fadd.x    fp5,fp7
  369.     move.l    _vdevice+$14,a3
  370.     lea    $20(a3),a3
  371.     moveq    #0,d7
  372.     fmove.s    fp7,0(a3,d7.l*4)
  373.     move.l    _vdevice+$14,a3
  374.     moveq    #1,d7
  375.     fmove.s    0(a3,d7.l*4),fp6
  376.     fmove.x    fp6,fp7
  377.     fmul.x    fp6,fp7
  378.     move.l    _vdevice+$14,a3
  379.     lea    $20(a3),a3
  380.     moveq    #1,d7
  381.     fmove.x    fp6,fp5
  382.     fmul.s    0(a3,d7.l*4),fp5
  383.     fsub.x    fp5,fp7
  384.     move.l    _vdevice+$14,a3
  385.     moveq    #1,d7
  386.     fmove.s    fp7,0(a3,d7.l*4)
  387.     fmove.x    fp6,fp7
  388.     fmul.x    fp6,fp7
  389.     move.l    _vdevice+$14,a3
  390.     lea    $20(a3),a3
  391.     moveq    #1,d7
  392.     fmove.x    fp6,fp5
  393.     fmul.s    0(a3,d7.l*4),fp5
  394.     fadd.x    fp5,fp7
  395.     move.l    _vdevice+$14,a3
  396.     lea    $20(a3),a3
  397.     moveq    #1,d7
  398.     fmove.s    fp7,0(a3,d7.l*4)
  399.     move.l    _vdevice+$14,a3
  400.     moveq    #2,d7
  401.     fmove.s    0(a3,d7.l*4),fp6
  402.     fmove.x    fp6,fp7
  403.     fmul.x    fp6,fp7
  404.     move.l    _vdevice+$14,a3
  405.     lea    $20(a3),a3
  406.     moveq    #2,d7
  407.     fmove.x    fp6,fp5
  408.     fmul.s    0(a3,d7.l*4),fp5
  409.     fsub.x    fp5,fp7
  410.     move.l    _vdevice+$14,a3
  411.     moveq    #2,d7
  412.     fmove.s    fp7,0(a3,d7.l*4)
  413.     fmove.x    fp6,fp7
  414.     fmul.x    fp6,fp7
  415.     move.l    _vdevice+$14,a3
  416.     lea    $20(a3),a3
  417.     moveq    #2,d7
  418.     fmove.x    fp6,fp5
  419.     fmul.s    0(a3,d7.l*4),fp5
  420.     fadd.x    fp5,fp7
  421.     move.l    _vdevice+$14,a3
  422.     lea    $20(a3),a3
  423.     moveq    #2,d7
  424.     fmove.s    fp7,0(a3,d7.l*4)
  425.     move.l    _vdevice+$14,a3
  426.     moveq    #3,d7
  427.     fmove.s    0(a3,d7.l*4),fp6
  428.     fmove.x    fp6,fp7
  429.     fmul.x    fp6,fp7
  430.     move.l    _vdevice+$14,a3
  431.     lea    $20(a3),a3
  432.     moveq    #3,d7
  433.     fmove.x    fp6,fp5
  434.     fmul.s    0(a3,d7.l*4),fp5
  435.     fsub.x    fp5,fp7
  436.     move.l    _vdevice+$14,a3
  437.     moveq    #3,d7
  438.     fmove.s    fp7,0(a3,d7.l*4)
  439.     fmove.x    fp6,fp7
  440.     fmul.x    fp6,fp7
  441.     move.l    _vdevice+$14,a3
  442.     lea    $20(a3),a3
  443.     moveq    #3,d7
  444.     fmove.x    fp6,fp5
  445.     fmul.s    0(a3,d7.l*4),fp5
  446.     fadd.x    fp5,fp7
  447.     move.l    _vdevice+$14,a3
  448.     lea    $20(a3),a3
  449.     moveq    #3,d7
  450.     fmove.s    fp7,0(a3,d7.l*4)
  451.     bra    L5
  452. L8
  453.     move.l    _vdevice+$14,a3
  454.     moveq    #0,d7
  455.     fmove.s    0(a3,d7.l*4),fp6
  456.     fmove.x    fp6,fp7
  457.     fmul.x    fp6,fp7
  458.     move.l    _vdevice+$14,a3
  459.     lea    $10(a3),a3
  460.     moveq    #0,d7
  461.     fmove.x    fp6,fp5
  462.     fmul.s    0(a3,d7.l*4),fp5
  463.     fadd.x    fp5,fp7
  464.     move.l    _vdevice+$14,a3
  465.     moveq    #0,d7
  466.     fmove.s    fp7,0(a3,d7.l*4)
  467.     move.l    _vdevice+$14,a3
  468.     lea    $10(a3),a